Software Engineer (.NET and C++)
We are seeking an experienced Software Engineer to help design, develop, and support innovative software applications, tools, and frameworks that enhance user experience and drive technical solutions. This is an exciting opportunity for a hands-on developer who enjoys solving complex problems, collaborating across teams, and contributing to the full software development lifecycle.
The ideal candidate brings strong software engineering experience, a passion for clean and maintainable code, and the ability to work effectively both independently and within a collaborative environment.
What You'll Do
- Design, develop, test, debug, configure, and document software applications and solutions.
- Deliver high-quality, scalable, and maintainable code throughout the software development lifecycle.
- Collaborate with engineering and cross-functional teams to develop new features and enhancements.
- Balance priorities, timelines, and technical requirements to deliver solutions efficiently.
- Apply software engineering best practices and coding standards to create reliable and efficient applications.
- Participate in software architecture discussions, code reviews, and continuous improvement initiatives.
- Troubleshoot, diagnose, and resolve software defects and performance issues.
- Plan and execute software verification and validation testing.
- Support product integration, system-level troubleshooting, and ongoing application improvements.
- Contribute to process improvements and development best practices.
What We're Looking For
Required Qualifications
- 5+ years of professional software development experience.
- Strong experience with software design, coding, testing, debugging, and documentation.
- Solid understanding of Object-Oriented Programming (OOP) principles.
- Proficiency in C++ and/or .NET/C# development.
- Experience managing multiple projects and priorities in a fast-paced environment.
- Excellent written and verbal communication skills.
- Bachelor's degree in Computer Science, Electrical Engineering, Software Engineering, or a related technical field.
Preferred Qualifications
- Experience with Visual Studio development tools.
- Knowledge of MFC, ATL, and STL.
- Experience developing applications using WPF and MVVM frameworks.
- Experience with multi-threaded or real-time software development.
- Linux development experience.
- Familiarity with hardware and firmware communication protocols such as USB, Serial (RS-232/485), CAN, TCP/IP, or UDP.
- Experience working with Git and modern version control workflows.
- Familiarity with Agile software development methodologies.
All qualified applicants will receive consideration for employment without regard to race, color, national origin, age, ancestry, religion, sex, sexual orientation, gender identity, gender expression, marital status, disability, medical condition, genetic information, pregnancy, or military or veteran status. We consider all qualified applicants, including those with criminal histories, in a manner consistent with state and local laws, including the California Fair Chance Act, City of Los Angeles' Fair Chance Initiative for Hiring Ordinance, and Los Angeles County Fair Chance Ordinance.